///******************************************************************************* // * Copyright (c) 2004, 2007 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // *******************************************************************************/ //package org.eclipse.ui.tests.dnd; // //import junit.framework.Test; //import junit.framework.TestSuite; // //import org.eclipse.core.runtime.Path; //import org.eclipse.core.runtime.Platform; //import org.eclipse.swt.SWT; //import org.eclipse.swt.widgets.Composite; //import org.eclipse.swt.widgets.Shell; //import org.eclipse.ui.IPageLayout; //import org.eclipse.ui.internal.dnd.TestDropLocation; //import org.eclipse.ui.tests.TestPlugin; //import org.eclipse.ui.tests.autotests.AutoTestSuite; // ///** // * @since 3.0 // */ //public class DragTestSuite extends AutoTestSuite { // // /** // * Returns the suite. This is required to use the JUnit Launcher. // */ // public static Test suite() { // return new DragTestSuite(); // } // // /** // * Whether the platform we're running on supports the detaching of views. // * This is initialized in the following static block. // * // * @since 3.2 // */ // private static final boolean isDetachingSupported; // // static { // Shell shell = new Shell(); // Composite c = new Composite(shell, SWT.NONE); // isDetachingSupported = c.isReparentable(); // shell.dispose(); // } // // public DragTestSuite() { // super(Platform.find(TestPlugin.getDefault().getBundle(), new Path("data/dragtests.xml"))); // // String resNav = IPageLayout.ID_RES_NAV; // String probView = IPageLayout.ID_PROBLEM_VIEW; // // // Drag sources for views // TestDragSource[] viewDragSources = new TestDragSource[] { // new ViewDragSource(resNav, false), // new ViewDragSource(resNav, true), // new ViewDragSource(probView, false), // new ViewDragSource(probView, true) }; // // // Drag sources for editors // TestDragSource[] editorDragSources = new TestDragSource[] { // new EditorDragSource(0, false), new EditorDragSource(0, true), // new EditorDragSource(2, false), new EditorDragSource(2, true) }; // // // Drop targets that will only be tested for views // // // Drag sources for maximized views // TestDragSource[] maximizedViewDragSources = new TestDragSource[] { // new ViewDragSource(resNav, false, true), // new ViewDragSource(resNav, true, true), // new ViewDragSource(probView, false, true), // new ViewDragSource(probView, true, true) }; // // // Now generate all test cases // for (int i = 0; i < maximizedViewDragSources.length; i++) { // TestDragSource source = maximizedViewDragSources[i]; // // addAllCombinations(source, getMaximizedViewDropTargets(source)); // } // // for (int i = 0; i < viewDragSources.length; i++) { // TestDragSource source = viewDragSources[i]; // // addAllCombinations(source, getViewDropTargets(source)); // addAllCombinations(source, getCommonDropTargets(source)); // // // Test dragging onto a detached window // addAllCombinationsDetached(source, getDetachedWindowDropTargets(source)); // } // // for (int i = 0; i < editorDragSources.length; i++) { // TestDragSource source = editorDragSources[i]; // // addAllCombinations(source, getEditorDropTargets(source)); // addAllCombinations(source, getCommonDropTargets(source)); // // // Test dragging onto a detached window // addAllCombinationsDetached(source, getDetachedWindowDropTargets(source)); // } // addTest(new TestSuite(Bug87211Test.class)); // } // // /** // * Returns drop targets that will only be tested for maximized views. (we only need to ensure // * that the view will become un-maximized -- the regular view test cases will excercise // * the remainder of the view dragging code). We need to drag each kind of maximized view // * to something that couldn't be seen while the view is maximized -- like the editor area). // * // * @param dragSource // * @return // * @since 3.1 // */ // private TestDropLocation[] getMaximizedViewDropTargets(IWorkbenchWindowProvider originatingWindow) { // return new TestDropLocation[] { // new EditorAreaDropTarget(originatingWindow, SWT.RIGHT) }; // } // // private TestDropLocation[] getCommonDropTargets(IWorkbenchWindowProvider dragSource) { // TestDropLocation[] targets = { // // Test dragging to the edges of the workbench window // new WindowDropTarget(dragSource, SWT.TOP), // new WindowDropTarget(dragSource, SWT.BOTTOM), // new WindowDropTarget(dragSource, SWT.LEFT), // new WindowDropTarget(dragSource, SWT.RIGHT) }; // // return targets; // } // // /** // * Return all drop targets that only apply to views, given the window being dragged from. // * // * @param provider // * @return // * @since 3.1 // */ // private TestDropLocation[] getViewDropTargets(IWorkbenchWindowProvider dragSource) { // // String resNav = IPageLayout.ID_RES_NAV; // String probView = IPageLayout.ID_PROBLEM_VIEW; // // TestDropLocation[] targets = new TestDropLocation[] { // // Editor area // new EditorAreaDropTarget(dragSource, SWT.LEFT), // new EditorAreaDropTarget(dragSource, SWT.RIGHT), // new EditorAreaDropTarget(dragSource, SWT.TOP), // new EditorAreaDropTarget(dragSource, SWT.BOTTOM), // // // Resource navigator (a view that isn't in a stack) // new ViewDropTarget(dragSource, resNav, SWT.LEFT), // new ViewDropTarget(dragSource, resNav, SWT.RIGHT), // new ViewDropTarget(dragSource, resNav, SWT.BOTTOM), // new ViewDropTarget(dragSource, resNav, SWT.CENTER), // new ViewDropTarget(dragSource, resNav, SWT.TOP), // // // Problems view (a view that is in a stack) // // Omit the top from this test, since the meaning of dropping on the top border of // // a stack may change in the near future // new ViewDropTarget(dragSource, probView, SWT.LEFT), // new ViewDropTarget(dragSource, probView, SWT.RIGHT), // new ViewDropTarget(dragSource, probView, SWT.BOTTOM), // new ViewDropTarget(dragSource, probView, SWT.CENTER), // new ViewDropTarget(dragSource, probView, SWT.TOP), // // // Fast view bar // new FastViewBarDropTarget(dragSource), // // // View tabs // new ViewTabDropTarget(dragSource, resNav), // new ViewTabDropTarget(dragSource, probView), // new ViewTitleDropTarget(dragSource, probView), // }; // // return targets; // } // // /** // * Return all drop targets that apply to detached windows, given the window being dragged from. // * // * @param provider // * @return // * @since 3.1 // */ // private TestDropLocation[] getDetachedWindowDropTargets(IWorkbenchWindowProvider dragSource) { // TestDropLocation[] targets = new TestDropLocation[] { // // Editor area // new ViewDropTarget(dragSource, DragDropPerspectiveFactory.dropViewId1, SWT.CENTER), // new ViewDropTarget(dragSource, DragDropPerspectiveFactory.dropViewId3, SWT.CENTER), // new ViewTabDropTarget(dragSource, DragDropPerspectiveFactory.dropViewId1), // new DetachedDropTarget() // }; // // return targets; // } // // private TestDropLocation[] getEditorDropTargets(IWorkbenchWindowProvider originatingWindow) { // String resNav = IPageLayout.ID_RES_NAV; // // Drop targets that will only be tested for editors // return new TestDropLocation[] { // // A view // new ViewDropTarget(originatingWindow, resNav, SWT.CENTER), // // // A stand-alone editor // new EditorDropTarget(originatingWindow, 2, SWT.LEFT), // new EditorDropTarget(originatingWindow, 2, SWT.RIGHT), // new EditorDropTarget(originatingWindow, 2, SWT.TOP), // new EditorDropTarget(originatingWindow, 2, SWT.BOTTOM), // new EditorDropTarget(originatingWindow, 2, SWT.CENTER), // // // Editors (a stack of editors) // new EditorDropTarget(originatingWindow, 0, SWT.LEFT), // new EditorDropTarget(originatingWindow, 0, SWT.RIGHT), // new EditorDropTarget(originatingWindow, 0, SWT.BOTTOM), // new EditorDropTarget(originatingWindow, 0, SWT.CENTER), // new EditorTabDropTarget(originatingWindow, 0), // new EditorTitleDropTarget(originatingWindow, 0), // }; // } // // private void addAllCombinations(TestDragSource dragSource, // TestDropLocation[] dropTargets) { // // for (int destId = 0; destId < dropTargets.length; destId++) { // DragTest newTest = new DragTest(dragSource, dropTargets[destId], getLog()); // addTest(newTest); // } // } // // private void addAllCombinationsDetached(TestDragSource dragSource, // TestDropLocation[] dropTargets) { // // if (isDetachingSupported) { // for (int destId = 0; destId < dropTargets.length; destId++) { // DragTest newTest = new DetachedWindowDragTest(dragSource, dropTargets[destId], getLog()); // addTest(newTest); // } // } // } // //}